"""
工具文件, 获取随机的手机号

  1           [3-9]        [0-9]{9}
"1" + str(randint(3-9)) + str(randint(0-9)) * 9

列表推导式: 生成列表数据的一种快速写法
语法结构: [计算公式 for循环]  先执行for循环, 然后按计算公式处理代码, 将结果添加到列表中
"""
import random


def get_phone():
    return "1" + str(random.randint(3, 9)) + "".join([str(random.randint(0, 9)) for _ in range(9)])


def get_phone_1():
    # 定义一个空字符串, 用于拼接数据
    phone_str = "1" + str(random.randint(3, 9))

    # 使用循环, 生成随机数
    # 如果在循环中, 没有使用到临时变量, 通常定义为_
    for _ in range(9):  # 9次
        # 使用randint生成随机数, 并转换为字符串
        temp_num = str(random.randint(0, 9))
        # 实现字符串的拼接
        phone_str += temp_num
    return phone_str


def get_phone_2():
    # 目标: 生成一个列表, 里面有9个数字 ["1", "3", "5", ...]
    num_list = []
    for _ in range(9):  # 9次
        # 使用randint生成随机数, 并转换为字符串
        temp_num = str(random.randint(0, 9))
        # 添加到列表里
        num_list.append(temp_num)
    print(num_list)

    print("".join(num_list))


def get_phone_3():
    # 目标: 生成一个列表, 里面有9个数字 ["1", "3", "5", ...]
    # num_list = [str(random.randint(0, 9))   for _ in range(9)]
    # for _ in range(9):  # 9次
    #     # 使用randint生成随机数, 并转换为字符串
    #     temp_num = str(random.randint(0, 9))
    #     # 添加到列表里
    #     num_list.append(temp_num)
    # print(num_list)

    print("".join([str(random.randint(0, 9)) for _ in range(9)]))


if __name__ == '__main__':
    print(get_phone())
